package com.cy.webspringmvc.mvc;

import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.Map;

@RestController
public class spring1 {

    @RequestMapping("doWeb1")
//   描述一个日期格式
    public String doWeb1(String name, @DateTimeFormat(pattern = "yyyy/MM/dd") Date date) {
        return "  " + name + " " + date;
    }

    @RequestMapping("doWeb2")
//    RequestParam 默认为true，当为FALSE时，必须传入指定参数，否则抛出异常
//    貌似标记之后的所有值均不能为空，否则会拨错
//    貌似标记之后的所有值均不能为空，否则会拨错
    public String doWeb2(String name, @RequestParam(required = false) Date date, int ae) {
        return "  " + name + " " + date + " " + ae;
    }

    @RequestMapping("doWeb3/{abe}/{str}")
//    RequestParam 默认为true，当为FALSE时，必须传入指定参数，否则抛出异常
//    貌似标记之后的所有值均不能为空，否则会拨错
//    貌似标记之后的所有值均不能为空，否则会拨错
    public String doWeb2(@PathVariable("abe") int ae, @PathVariable String str) {
        return " " + ae + " " + str;
    }

    @RequestMapping("doWeb4/{name}/{start}")
//@PathVariable 给map注入值，不能使用@RestParam,它只能接受?后的对应值，而这里是另一种参数加值方式
    public String doWeb2(@PathVariable Map<String, Object> map) {
        return " " + map.toString();
    }

}
